package test;

import java.util.Scanner;

public class TryDemo3 {
    public static void main(String[] args) {
        try {
            testAge();
        } catch (HotelAgeException e) {
            System.out.println(e.getMessage());
            System.out.println("酒店前台工作人员不允许办理入住登记");
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    //描述酒店的入住规则:限定年龄,18岁以下,80岁以上的住客必须由亲友陪同
    /*
    throw抛出异常对象的处理方案
    1.通过try...catch包含throw语句--自己抛出异常自己处理
    2.通过throws在方法声明处抛出异常--谁调用这个方法谁抛出异常
     */
    /*
    public static void testAge(){
            //自己抛出的异常自己处理
            try {System.out.print("请输入年龄:");
                Scanner input=new Scanner(System.in);
                int age=input.nextInt();
                if (age<18||age>=80){
                    throw new Exception("18岁以下,80岁以上的住客必须由亲友陪同!");
                }else {
                        System.out.println("欢迎入住本酒店!");
                    }


            } catch (Exception e) {
                e.printStackTrace();
            }
    }
     */
    public static void testAge() throws HotelAgeException {
        //自己抛出的异常自己处理
        System.out.print("请输入年龄:");
        Scanner input=new Scanner(System.in);
        int age=input.nextInt();
        if (age<18||age>=80){
            throw new HotelAgeException();
        }else {
            System.out.println("欢迎入住本酒店!");
        }
    }
}
